# Contributor: Leo <thinkabit.ukim@gmail.com>
# Maintainer: Julien Voisin <julien.voisin@dustri.org>
pkgname=weechat
pkgver=4.4.3
pkgrel=0
pkgdesc="Fast, light, extensible ncurses-based chat client"
url="https://weechat.org"
arch="all"
options="!check" # test suite runs "sudo make install"
license="GPL-3.0-or-later"
depends_dev="
	aspell-dev
	cjson-dev
	curl-dev
	gettext-dev
	gnutls-dev
	libgcrypt-dev
	lua-dev
	ncurses-dev
	perl-dev
	python3-dev
	zlib-dev
	zstd-dev
	"
makedepends="
	$depends_dev
	asciidoctor
	cmake
	samurai
	"
subpackages="
	$pkgname-dev
	$pkgname-doc
	$pkgname-lang
	$pkgname-spell:_plugin
	$pkgname-lua:_plugin
	$pkgname-perl
	$pkgname-python:_plugin
	"
source="https://www.weechat.org/files/src/weechat-$pkgver.tar.xz
	"

# secfixes:
#   1.7.1-r0:
#     - CVE-2017-8073
#   1.9.1-r0:
#     - CVE-2017-14727
#   2.7.1-r0:
#     - CVE-2020-8955

build() {
	cmake -B build -G Ninja \
		-DCMAKE_BUILD_TYPE=None \
		-DCMAKE_INSTALL_PREFIX=/usr \
		-DENABLE_MAN=ON \
		-DENABLE_TCL=OFF \
		-DENABLE_GUILE=OFF \
		-DENABLE_JAVASCRIPT=OFF \
		-DENABLE_PHP=OFF \
		-DENABLE_RUBY=OFF
	cmake --build build
}

check() {
	./tools/build-test.sh cmake
}

package() {
	DESTDIR="$pkgdir" cmake --install build
}

_plugin() {
	local _name=${subpkgname#*-}
	local _dir=usr/lib/weechat/plugins

	pkgdesc="WeeChat $_name plugin"
	depends="weechat"

	# as of 2.5 aspell has been renamed to spell on weechat upstream
	# since it now supports enchant as well, rename the subpackage and
	# replace the old one
	if [ "$_name" = spell ]; then
		replaces="$pkgname-aspell"
		provides="$pkgname-aspell=$pkgver-r$pkgrel"
	fi

	amove $_dir/"$_name".so
}

perl() {
	_plugin
	depends="$depends perl-pod-parser"
}

sha512sums="
32df8d6021ed63d11646127920197a1f80dfbbec0cdf4e9a282fc789fcd1c270082806c237ab16ebd0c07a94c6d40bc22432211feac638623d6f2a0a59606dcc  weechat-4.4.3.tar.xz
"
